Connected components is a well known, powerful graph theory technique used to find related data. Example, common uses for connected components is to perform object segmentation or noise removal in image processing.
Many applications of connected components may benefit from parallel processing or other acceleration via hardware (e.g., field-programmable gate array, or FPGA) implementations. However, efficient implementations of connected components are based upon building linked lists to track the similarity between data elements. Linked lists typically require dynamic memory allocation, and are thus not amenable to dedicated hardware implementations.